package cn.tqfeiyang.springplus.warehouse.request;

import java.time.LocalDateTime;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import cn.tqfeiyang.springplus.framework.pagination.QueryColumn;
import cn.tqfeiyang.springplus.framework.pagination.QueryTable;
import cn.tqfeiyang.springplus.framework.pagination.QueryLogic;
import cn.tqfeiyang.springplus.framework.pagination.PageSearch;

/**
 * 仓库查询类
 *
 * @author tqfeiyang
 * @since 2024-08-01
 */
@Data
@QueryTable(orderBy = "warehouseId")
public class WarehouseSTO extends PageSearch {

    @QueryColumn
    @Schema(description = "仓库ID")
    private Long warehouseId;

    @QueryColumn(logic = QueryLogic.like, keywordSearch = true)
    @Schema(description = "仓库名称")
    private String name;

    @QueryColumn(logic = QueryLogic.like, keywordSearch = true)
    @Schema(description = "所在城市")
    private String city;

    @QueryColumn(logic = QueryLogic.like, keywordSearch = true)
    @Schema(description = "详细地址")
    private String address;

    @QueryColumn(logic = QueryLogic.like, keywordSearch = true)
    @Schema(description = "负责人")
    private String manager;

    @QueryColumn(logic = QueryLogic.like, keywordSearch = true)
    @Schema(description = "电话")
    private String phone;

    @QueryColumn(logic = QueryLogic.like, keywordSearch = true)
    @Schema(description = "邮件")
    private String email;

    @QueryColumn
    @Schema(description = "版本号")
    private Integer version;

    @QueryColumn
    @Schema(description = "删除标识")
    private Boolean deleted;

    @QueryColumn
    @Schema(description = "创建人ID")
    private Long createId;

    @QueryColumn
    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @QueryColumn
    @Schema(description = "修改人ID")
    private Long updateId;

    @QueryColumn
    @Schema(description = "创建时间")
    private LocalDateTime updateTime;
}